<!DOCTYPE html>
<html lang="zh">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
        <script>
            /* 
                变量的提升
                    - 使用var声明的变量，它会在所有代码执行前被声明
                        所以我们可以在变量声明前就访问变量

                函数的提升
                    - 使用函数声明创建的函数，会在其他代码执行前被创建
                        所以我们可以在函数声明前调用函数


                let声明的变量实际也会提升，但是在赋值之前解释器禁止对该变量的访问

            */

            console.log(b)

            let b = 10


            // fn()

            function fn(){
                alert("我是fn函数~")
            }

            // fn2()
            // var fn2 = function(){

            // }



            // console.log(a)

            var a = 10


            // a = 10 // window.a = 10
        </script>
    </head>
    <body></body>
</html>
